Application software provides users with specific useful functionality. Computers and other processor-based devices provide hardware that is harnessed by applications to affect such functionality. Accordingly, application software converts computers into specialized machines that perform tasks prescribed by the application. Some applications have tight links to processing machines. Conventional client applications, for instance, are tied to particular computing platforms or hardware architectures. For example, applications designed for platform “X” are not executable on platform “Y” and vice versa. Furthermore, if it is desirous to employ an application on another machine even of the same platform it needs to be installed thereon.
With the advent of the Internet and World Wide Web (“web”), informational access became much less platform dependent. The Internet provides a publically accessible interconnected network of computers. The web is a collection of documents that are available via the Internet. Web browsers are applications that provide a portal to the Internet and collections of accessible information in the form of websites. While browsers themselves are platform dependent the information and presentation thereof is platform independent. Accordingly, individuals employing disparate machines can all view the same websites.
The web is continually evolving into a much richer computing environment. For the most part, early versions of the web enabled users to do little more than retrieve published information. Today's version, referred to by some as “Web 2.0,” provides a much more interactive experience. Among other things, the network itself is now an application platform. Users are thus able to execute and interact with software applications entirely within web browsers replacing actual machine dependency with virtual machine dependency (e.g., Java™ Virtual Machine (JVM), Common Language Runtime (CLR) . . . ), for instance.
Furthermore, participation is encouraged in the evolving web. Rather than simply being a receiver of information of a particular form, users are encouraged to contribute to network content and are able to control how information is provided to them. For example, in addition to those provided by companies, individuals author reusable application components or small programs such as widgets or gadgets that provide an interface for data interaction. Users can then select and employ one or more of these components (e.g., stock ticker, weather, web feeds . . . ) for use on a desktop or within a browser (e.g. my pages).